
Obj/arch_mem_init.o:     file format elf32-csky-little


Disassembly of section .text:

00000000 <__main>:
extern char _bss_start[];
extern char _ebss[];


void __main( void ) 
{
   0:	14d0      	push      	r15

  /* if the start of data (dst)
     is not equal to end of text (src) then
     copy it, else it's already in the right place
     */
  if( _start_data != _end_rodata ) {
   2:	1009      	lrw      	r0, 0	// 24 <__main+0x24>
   4:	1029      	lrw      	r1, 0	// 28 <__main+0x28>
   6:	6442      	cmpne      	r0, r1
   8:	0c05      	bf      	0x12	// 12 <__main+0x12>
//    __memcpy_fast( dst, src, (_end_data - _start_data));
    memcpy( dst, src, (_end_data - _start_data));
   a:	1049      	lrw      	r2, 0	// 2c <__main+0x2c>
   c:	6082      	subu      	r2, r0
   e:	e0000000 	bsr      	0	// 0 <memcpy>
  }

  /* zero the bss 
   */
  if( _ebss - _bss_start ) {
  12:	1048      	lrw      	r2, 0	// 30 <__main+0x30>
  14:	1008      	lrw      	r0, 0	// 34 <__main+0x34>
  16:	640a      	cmpne      	r2, r0
  18:	0c05      	bf      	0x22	// 22 <__main+0x22>
//    __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
    memset( _bss_start, 0x00, ( _ebss - _bss_start ));
  1a:	6082      	subu      	r2, r0
  1c:	3100      	movi      	r1, 0
  1e:	e0000000 	bsr      	0	// 0 <memset>
  }
}
  22:	1490      	pop      	r15
	...
